Skip to main content

redis cluster集群增加密码验证

为了安全性,想redis cluster这种缓存服务最好在限制IP访问的同时,也要设置密码验证。

节点设置密码

1、修改配置文件

在配置文件里面增加密码选项,一定要加上masterauth,不然Redirected的时候会失败。

masterauth redispassword
requirepass redispassword

修改后需要重启redis节点。

2、动态修改

连接redis节点进行配置设置,然后config rewrite 将配置同步到配置文件中,不需要重启节点。

redis-cli -p 8001 -c
config set masterauth redispassword
config set requirepass redispassword
config rewrite

注意:每个节点的密码需要保持一致,不然Redirected的时候会失败。
第二种方式不需要重启服务比较快,同时也修改了配置文件 。

集群工具设置密码

默认集群管理工具redis-trib.rb是没有密码的,也没有通过参数可以设置密码。但是这个ruby脚本是调用ruby的redis模块,因此我们只需要找到ruby的client.rb文件,在这个脚本里面修改配置就可以了。

如果使用gem安装一般是可以在家目录下找到client.rb这个脚本。具体可以使用find查找一下:find / -name 'client.rb'

class Client
DEFAULTS = {
:url => lambda { ENV["REDIS_URL"] },
:scheme => "redis",
:host => "127.0.0.1",
:port => 6379,
:path => nil,
:timeout => 5.0,
:password => "redispassword",
:db => 0,
:driver => nil,
:id => nil,
:tcp_keepalive => 0,
:reconnect_attempts => 1,
:inherit_socket => false
}

注意:这个修改之后,本机其他ruby脚本调用默认也是这个密码。